package com.lhs.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lhs.DTO.user.UserLoginDTO;
import com.lhs.DTO.user.UserRegisterDTO;
import com.lhs.Page.PageParam;
import com.lhs.Page.PageResult;
import com.lhs.Result.Result;
import com.lhs.VO.user.UserInfoVO;
import com.lhs.VO.user.UserLoginVO;
import com.lhs.entity.user.User;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface UserService extends IService<User> {
    // 用户登录
    Result<UserLoginVO> login(UserLoginDTO userLoginDTO);
    //      用户注册
    Result register(UserRegisterDTO userRegisterDTO);
    //      获取用户信息
    Result<UserInfoVO> getUserById();
    //      修改用户信息
    Result updateUserInfo(User user);

    // 获取所有用户信息
        Result<PageResult<User>> getAllUserInfo(PageParam pageParam);
//      修改用户信息_管理员
    Result updateUserInfo_Admin(Long userId,User user);

    Result<UserInfoVO> getUserInfoById(Long userId);

    Map<Long, UserInfoVO> getUserInfoBatch(List<Long> userIds);

    Result updateAvatar(MultipartFile file);
}
